import axios from 'axios';
import { Message } from 'element-ui';
import router from '@/router';
// import qs from 'qs';
// import store from '@/store';
// import { setStore } from '@/utils/store';


// 创建axios实例
const service = axios.create({
    // api的base_url
    // baseURL: process.env.NODE_ENV === "production" ? "http://101.132.154.10:8999/" : "http://192.168.1.103:8999/", // 本地-前端解决跨域



    baseURL: process.env.NODE_ENV === "production" ? "http://101.132.154.10:8999/" : "http://101.132.154.10:8999/",
    timeout: 15000 // 请求超时时间
});

// request 请求拦截器
service.interceptors.request.use(
    config => {
        //设置header
        // config.headers["Content-Type"] = "application/json;charset=UTF-8";
        //
        // // 格式化 get 请求
        // if (config.method === 'get' && config.data) {
        //     config.url = `${config.url}?${qs.stringify(config.data, { indices: false })}`
        //
        // config.headers["Content-Type"] = "application/x-www-form-urlencoded";
        // }
        // 让每个请求携带自定义token
        // header添加token
        config.headers["token"] = localStorage.getItem("token");

        return config;
    },
    error => {
        return Promise.reject(error);
    }
);
// respone 响应拦截器
service.interceptors.response.use(
    response => {
        return response;
    },
    error => {
        if (error.response.status == 400) {
            Message({
                message: '参数信息有误',
                center: true
            });
            console.log('参数信息有误');
            return;
        } else if (error.response.status == 302) {
            Message({
                message: '用户未登录',
                center: true
            });
            console.log('用户未登录');
            router.push('/login');
            // setStore({ name: 'TOKEN', content: '', type: 'session' })
            return;
        } else if (error.response.status == 404) {
            Message({
                message: '连接失败',
                center: true
            });
            console.log('连接失败');
            return;
        } else if (error.response.status == 500) {
            Message({
                message: '服务器内部错误',
                center: true
            });
            console.log('服务器内部错误');
            return;
        } else if (error.response.status == 560) {
            Message({
                message: '数据库异常',
                center: true
            });
            console.log('数据库异常');
            return;
        }
        Message({
            message: error.message,
            type: 'error',
            duration: 5 * 1000
        });
        return Promise.reject(error);
    }
);
export default service;